package com.xiaozeng.product.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xiaozeng.param.*;
import com.xiaozeng.pojo.Product;
import com.xiaozeng.utils.Result;

import java.util.List;

/**
 * @Author: xiaozeng
 * @Date: 2022 11
 * @Description:
 **/
public interface ProductService extends IService<Product> {

    /**
     * 根据单类别名称，查询热门商品
     * @param categoryName 类别名称
     */
    Result promo(String categoryName);

    /**
     * 多类别热门商品查询 根据类别名称集合
     */
    Result hots(ProductHotParam productHotParam);

    /**
     * 查询类别商品集合
     */
    Result cList();

    /**
     * 类别商品查询 前端传递类别集合
     */
    Object byCategory(ProductIntegerParam productIntegerParam);

    Object all(ProductIntegerParam productIntegerParam);

    /**
     * 查询商品详情
     * @param productID 商品id
     */
    Object detail(Integer productID);

    /**
     * 根据商品ID查询商品图片
     */
    Object pictures(Integer productID);

    /**
     * 查询全部商品信息
     */
    List<Product> list();

    /**
     * 根据关键字查询商品信息
     */
    Object search(ProductSearchParam productSearchParam);

    /**
     * 根据ID查询商品信息
     */
    List<Product> ids(ProductCollectParam productCollectParam);

    void batchNumber(List<ProductNumberParam> productNumberParams);
}
